package com.czh.subject.application.dto;

import com.czh.subject.common.entity.PageInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;


@EqualsAndHashCode(callSuper = true)
@Data
public class SubjectInfoDTO extends PageInfo implements Serializable {

    @Serial
    private static final long serialVersionUID = -98974814439687059L;

    /**
     * 主键
     */
    private Long id;
    /**
     * 题目名称
     */
    private String subjectName;
    /**
     * 题目难度
     */
    private Integer subjectDifficult;
    /**
     * 出题人名
     */
    private String settleName;
    /**
     * 题目类型 1单选 2多选 3判断 4简答
     */
    private Integer subjectType;
    /**
     * 题目分数
     */
    private Integer subjectScore;
    /**
     * 题目解析
     */
    private String subjectParse;

    private String subjectAnswer;

    List<Long> categoryIds;

    List<Long> labelIds;

    List<SubjectOptionDTO> optionList;

    private Integer categoryId;

    private Integer labelId;

    private List<String> labelName;
    /**
     * es文档id
     */
    private Long docId;
    /**
     * 搜索关键词
     */
    private String keyWord;
    /**
     * es检索符合指数
     */
    private BigDecimal score;

    private String createUser;

    private String createUserAvatar;

    private Integer subjectCount;
    /**
     * 是否被当前用户点赞
     */
    private Boolean liked;
    /**
     * 被多少人点赞
     */
    private Integer likedCount;
    /**
     * 上一题id
     */
    private Long lastSubjectId;
    /**
     * 下一题id
     */
    private Long nextSubjectId;
}

